package com.hrm.houfei.biz;

import java.util.List;

import com.hrm.houfei.po.Personfile;
import com.hrm.houfei.po.Userinfo;

public interface IPersonFileBiz {

	/**
	 * 统计人员分布情况
	 * @return
	 */
	public List<Personfile> countReportPersonfile();
	
	/**
	 * 删除与恢复人员档案信息
	 * 
	 * @param pkid
	 *            主键id
	 * @param option
	 *            操作 1为删除,2为恢复
	 * @return
	 */
	public boolean deleteOrResumePersonInfoByPkid(String pkid, int option);
	
	/**
	 * 变更人员档案信息
	 * 
	 * @param personFile
	 * @param pkid
	 * @param userInfo
	 * @return
	 */
	public boolean updatePersonFile(Personfile personFile, String pkid,
			Userinfo userInfo);

	/**
	 * 登记人员档案信息
	 * 
	 * @param personFile
	 *            人员信息实体
	 * @param user
	 *            当前登陆用户
	 * @return 人员信息实体
	 */
	public boolean savePersonFile(Personfile personFile, Userinfo user);

	/**
	 * 审核人员档案信息
	 * 
	 * @param personFile
	 * @param pkid
	 * @param userInfo
	 * @return
	 */
	public boolean updateCheckPersonFile(Personfile personFile, String pkid,
			Userinfo userInfo);

	/**
	 * 多条件分页模糊查询人员档案信息
	 * 
	 * @param name
	 *            姓名
	 * @param addDate
	 *            添加日期
	 * @param start
	 *            索引
	 * @param limit
	 *            页大小
	 * @return 当前页的所有数据
	 */
	public List<Personfile> findPersonInfoByPage(String name, String addDate,
			String start, String limit);

	/**
	 * 多条件模糊查询人员档案信息总记录条数
	 * 
	 * @param name
	 *            姓名
	 * @param addDate
	 *            添加日期
	 * @return 给定条件的总记录条数
	 */
	public int getPersonInfoListSize(String name, String addDate);
	
	/**
	 * 根据姓名和身份证号查询人员档案信息
	 * 
	 * @param pfName
	 *            姓名
	 * @param pfIdCard
	 *            身份证号
	 * @return PersonFile实体
	 */
	public Personfile showPersonFileByCondition(String pfName, String pfIdCard);
}
